# -*- coding: utf-8 -*-

# Scrapy settings for chinahr project
#
# For simplicity, this file contains only settings considered important or
# commonly used. You can find more settings consulting the documentation:
#
#     http://doc.scrapy.org/en/latest/topics/settings.html
#     http://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html
#     http://scrapy.readthedocs.org/en/latest/topics/spider-middleware.html

BOT_NAME = 'chinahr'

SPIDER_MODULES = ['chinahr.spiders']
NEWSPIDER_MODULE = 'chinahr.spiders'


# Crawl responsibly by identifying yourself (and your website) on the user-agent
#USER_AGENT = 'chinahr (+http://www.yourdomain.com)'

# Configure maximum concurrent requests performed by Scrapy (default: 16)
#CONCURRENT_REQUESTS=32

# Configure a delay for requests for the same website (default: 0)
# See http://scrapy.readthedocs.org/en/latest/topics/settings.html#download-delay
# See also autothrottle settings and docs
#DOWNLOAD_DELAY = 0.2
# The download delay setting will honor only one of:
#CONCURRENT_REQUESTS_PER_DOMAIN=16
#CONCURRENT_REQUESTS_PER_IP=16

# Disable cookies (enabled by default)
COOKIES_ENABLED = False

# Disable Telnet Console (enabled by default)
#TELNETCONSOLE_ENABLED=False

# Override the default request headers:
#DEFAULT_REQUEST_HEADERS = {
#   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
#   'Accept-Language': 'en',
#}

# Enable or disable spider middlewares
# See http://scrapy.readthedocs.org/en/latest/topics/spider-middleware.html
# SPIDER_MIDDLEWARES = {
    # 'scrapy.spidermiddlewares.httperror.HttpErrorMiddleware': None,
    # 'scrapyluke.spidermiddlewares.HttpErrorMiddleware': 500,
    # 'scrapyluke.spidermiddlewares.UpdateProcessUrlsStatus': 600,
# }

# # Enable or disable downloader middlewares
# # See http://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html
DOWNLOADER_MIDDLEWARES = {
    # 'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None,
    'scrapyluke.downloadmiddlewares.RandomUserAgent': 543,
    # 'scrapyluke.downloadmiddlewares.DownloadLaterMiddleware': 600,
}

# Enable or disable extensions
# See http://scrapy.readthedocs.org/en/latest/topics/extensions.html
# EXTENSIONS = {
#    'scrapy.telnet.TelnetConsole': None,
# }

# Configure item pipelines
# See http://scrapy.readthedocs.org/en/latest/topics/item-pipeline.html
ITEM_PIPELINES = {
    # 'scrapyluke.pipelines.FormatItemPipeline': 100,
    'scrapyluke.pipelines.DBSQLPipeline': 500,
    #'scrapyluke.pipelines.JsonWriterPipeline': 300,
}

# Enable and configure the AutoThrottle extension (disabled by default)
# See http://doc.scrapy.org/en/latest/topics/autothrottle.html
# NOTE: AutoThrottle will honour the standard settings for concurrency and delay
#AUTOTHROTTLE_ENABLED=True
# The initial download delay
#AUTOTHROTTLE_START_DELAY=5
# The maximum download delay to be set in case of high latencies
#AUTOTHROTTLE_MAX_DELAY=60
# Enable showing throttling stats for every response received:
#AUTOTHROTTLE_DEBUG=False

# Enable and configure HTTP caching (disabled by default)
# See http://scrapy.readthedocs.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings
#HTTPCACHE_ENABLED=True
#HTTPCACHE_EXPIRATION_SECS=0
#HTTPCACHE_DIR='httpcache'
#HTTPCACHE_IGNORE_HTTP_CODES=[]
#HTTPCACHE_STORAGE='scrapy.extensions.httpcache.FilesystemCacheStorage'

#REDIRECT_ENABLED = False
#DEPTH_LIMIT = 10

LOG_LEVEL = 'INFO'
LOG_FILE = 'log.txt'
#########################################################################
#                                MySQL                                  #
#########################################################################
# DB_USE = {
#     'PIPELINE': 'MYSQL',
#     'DOWNLOADMIDDLEWARE': 'MYSQL',
#     'SPIDERMIDDLEWARE': 'MYSQL',
# }
#
# MYSQL_URI = {
#     'host': 'localhost',
#     'port': 3306,
#     'db': 'recruit',
#     'user': 'root',
#     'passwd': 'Bitfeng123',
#     'charset': 'utf8',
#     }


DB_USE = {
    'PIPELINE': 'POSTGRESQL',
    'DOWNLOADMIDDLEWARE': 'POSTGRESQL',
    'SPIDERMIDDLEWARE': 'POSTGRESQL',
}

POSTGRESQL_URI = {
    'host': '127.0.0.1',
    'port': 5432,
    'database': 'postgres',
    'user': 'postgres',
    'password': '100525',
}

# 下载延时
DOWNLOAD_DELAY = 0.5

# 并发数
CONCURRENT_REQUESTS = 5

#########################################################################
#                          scrapyd-redis                                #
#########################################################################
# SCHEDULER = "scrapy_redis.scheduler.Scheduler"
# SCHEDULER_PERSIST = True
# #SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderPriorityQueue"
# SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderQueue"
# #SCHEDULER_QUEUE_CLASS = "scrapy_redis.queue.SpiderStack"
#
# SCHEDULER_IDLE_BEFORE_CLOSE = 10
#
# REDIS_HOST = 'localhost'
# REDIS_PORT = 6379
#
# import sys
# SCRAPYLUKE = ['/data', '/root', '/home/yanyan/git']
#
# [sys.path.append(path) for path in SCRAPYLUKE if path not in sys.path]
